package com.fqgame.user.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fqgame.user.entity.UserInfo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

/**
 * 用户信息Mapper接口
 */
public interface UserInfoMapper extends BaseMapper<UserInfo> {

    /**
     * 更新用户余额
     *
     * @param userId 用户ID
     * @param amount 变动金额
     * @return 影响行数
     */
    @Update("UPDATE user_info SET balance = balance + #{amount} WHERE id = #{userId} AND balance + #{amount} >= 0")
    int updateBalance(@Param("userId") Long userId, @Param("amount") java.math.BigDecimal amount);

    /**
     * 更新用户积分
     *
     * @param userId 用户ID
     * @param points 变动积分
     * @return 影响行数
     */
    @Update("UPDATE user_info SET points = points + #{points} WHERE id = #{userId} AND points + #{points} >= 0")
    int updatePoints(@Param("userId") Long userId, @Param("points") Integer points);
}